/**
 * 
 */
package model;

/**
 * @author spiller.sebastian
 *
 */
public abstract class Person {
	
	private static final int VOLLJAEHRIGKEITSGRENZE = 18;
	
	
	private Name name;
	
	private Adresse adresse;
	
	private String telefonnr;
	
	private Datum geburtsdatum;
	
	
	public Person(Name name, Adresse adresse, String telefonnr, Datum geburtsDatum) {
		this.name = name;
		this.adresse = adresse;
		this.telefonnr = telefonnr;
		this.geburtsdatum = geburtsDatum;
	}



	/**
	 * prueft ob diese Person volljaehrig ist
	 * @return
	 */
	public boolean istVolljaehrig() {
		Datum heute = new Datum();
		heute.jahr = heute.jahr-VOLLJAEHRIGKEITSGRENZE;
		return geburtsdatum.liegtVor(heute);
	}



	/**
	 * @return the name
	 */
	public Name getName() {
		return name;
	}



	/**
	 * @param name the name to set
	 */
	public void setName(Name name) {
		this.name = name;
	}



	/**
	 * @return the adresse
	 */
	public Adresse getAdresse() {
		return adresse;
	}



	/**
	 * @param adresse the adresse to set
	 */
	public void setAdresse(Adresse adresse) {
		this.adresse = adresse;
	}



	/**
	 * @return the telefonnr
	 */
	public String getTelefonnr() {
		return telefonnr;
	}



	/**
	 * @param telefonnr the telefonnr to set
	 */
	public void setTelefonnr(String telefonnr) {
		this.telefonnr = telefonnr;
	}



	/**
	 * @return the geburtsdatum
	 */
	public Datum getGeburtsdatum() {
		return geburtsdatum;
	}



	/**
	 * @param geburtsdatum the geburtsdatum to set
	 */
	public void setGeburtsdatum(Datum geburtsdatum) {
		this.geburtsdatum = geburtsdatum;
	}
	

}
